package com.dc.designPattern._17_mediator.extend.extend1;

import cn.hutool.core.util.RandomUtil;

/**
 * Description: 销售管理
 * @author: gdc
 * @date: 2021/6/25
 * @version 1.0
 */
public class Sale {

    /**
     * 销售电脑
     * @param num           销售数量
     */
    public void sellComputer(int num) {
        Purchase purchase = new Purchase();

        // 访问库存
        Stock stock = new Stock();

        // 库存不足时，采购补充库存
        if (stock.getStockNum() < num) {
            purchase.buy(num);
        }

        System.out.println("销售电脑数量：" + num + "台");

        // 减少库存
        stock.decrease(num);
    }

    /**
     * 反馈销售情况，0~100之间变化
     *  0   代表没人买
     *  100 代表非常畅销
     * @return              销售情况
     */
    public int getSaleStatus() {
        int result = RandomUtil.randomInt(100);
        System.out.println("销售电脑热度【" + result + "】");
        return result;
    }

    /**
     * 打折处理
     */
    public void offSale() {
        // 获取库存，有多少卖多少
        Stock stock = new Stock();
        System.out.println("打折销售电脑数量：" + stock.getStockNum());
    }
}
